This commit is contained in:
2026-07-20 11:48:06 +08:00
parent 7119dc76a9
commit f379291e4f
409 changed files with 150227 additions and 8557 deletions

View File

@@ -0,0 +1,25 @@
SET @db = DATABASE();
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tygl_form' AND COLUMN_NAME = 'member_records'
),
'SELECT 1',
'ALTER TABLE gxmu_tygl_form ADD COLUMN member_records LONGTEXT NULL COMMENT ''团员记录(JSON字符串)'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tygl_form' AND COLUMN_NAME = 'growth_archives'
),
'SELECT 1',
'ALTER TABLE gxmu_tygl_form ADD COLUMN growth_archives LONGTEXT NULL COMMENT ''成长档案(JSON字符串)'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

View File

@@ -0,0 +1,97 @@
SET @db = DATABASE();
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'funding_budget_file'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN funding_budget_file VARCHAR(500) NULL COMMENT ''经费预算表'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'funding_allocation_file'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN funding_allocation_file VARCHAR(500) NULL COMMENT ''经费划拨明细表'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'midterm_remark'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN midterm_remark TEXT NULL COMMENT ''中期检查说明'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'midterm_materials'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN midterm_materials LONGTEXT NULL COMMENT ''中期检查材料(JSON字符串)'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'final_remark'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN final_remark TEXT NULL COMMENT ''结题说明'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'final_materials'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN final_materials LONGTEXT NULL COMMENT ''结题材料(JSON字符串)'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'archive_awards'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN archive_awards TEXT NULL COMMENT ''获奖情况'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'archive_proofs'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN archive_proofs LONGTEXT NULL COMMENT ''佐证材料(JSON字符串)'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

View File

@@ -0,0 +1,169 @@
SET @db = DATABASE();
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_declare' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_declare ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_qmgc_form' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_qmgc_form ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_sjqn' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_sjqn ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_sjtbzbsj' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_sjtbzbsj ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tzbcy_form' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_tzbcy_form ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wshqtw' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_wshqtw ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wshqtzb' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_wshqtzb ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_applicant' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_applicant ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_budget' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_budget ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_guidance_teacher' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_guidance_teacher ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_review_member' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_review_member ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_yxgqtdgb' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_yxgqtdgb ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_yxgqty' AND COLUMN_NAME = 'year'
),
'SELECT 1',
'ALTER TABLE gxmu_yxgqty ADD COLUMN year INT NULL COMMENT ''年度'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

View File

@@ -0,0 +1,46 @@
CREATE TABLE IF NOT EXISTS `gxmu_tzb_project_list` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`source_id` BIGINT NOT NULL COMMENT '挑战杯详情ID',
`project_name` VARCHAR(512) NOT NULL COMMENT '项目名称',
`school_name` VARCHAR(255) DEFAULT NULL COMMENT '高校名称',
`award_name` VARCHAR(128) DEFAULT NULL COMMENT '获奖情况',
`match_year` INT DEFAULT NULL COMMENT '参赛年份',
`match_term` VARCHAR(128) DEFAULT NULL COMMENT '参赛届次',
`match_level` VARCHAR(64) DEFAULT NULL COMMENT '比赛级别',
`cover_image` VARCHAR(1024) DEFAULT NULL COMMENT '封面图',
`detail_url` VARCHAR(1024) NOT NULL COMMENT '详情链接',
`source_url` VARCHAR(1024) DEFAULT NULL COMMENT '来源列表页',
`page_no` INT DEFAULT NULL COMMENT '来源页码',
`last_sync_time` DATETIME DEFAULT NULL COMMENT '最近同步时间',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记0未删 1已删',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_gxmu_tzb_project_source_id` (`source_id`),
KEY `idx_gxmu_tzb_project_match_year` (`match_year`),
KEY `idx_gxmu_tzb_project_school_name` (`school_name`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='挑战杯项目库列表';
CREATE TABLE IF NOT EXISTS `gxmu_tzb_talent_list` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`source_id` BIGINT NOT NULL COMMENT '挑战杯详情ID',
`person_name` VARCHAR(128) NOT NULL COMMENT '姓名',
`school_name` VARCHAR(255) DEFAULT NULL COMMENT '参赛学校',
`talent_type` VARCHAR(128) DEFAULT NULL COMMENT '人才类型',
`project_name` VARCHAR(512) DEFAULT NULL COMMENT '参赛项目',
`award_name` VARCHAR(128) DEFAULT NULL COMMENT '获奖情况',
`match_term` VARCHAR(128) DEFAULT NULL COMMENT '参赛届次',
`match_level` VARCHAR(64) DEFAULT NULL COMMENT '比赛级别',
`cover_image` VARCHAR(1024) DEFAULT NULL COMMENT '头像/封面图',
`detail_url` VARCHAR(1024) NOT NULL COMMENT '详情链接',
`source_url` VARCHAR(1024) DEFAULT NULL COMMENT '来源列表页',
`page_no` INT DEFAULT NULL COMMENT '来源页码',
`last_sync_time` DATETIME DEFAULT NULL COMMENT '最近同步时间',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记0未删 1已删',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_gxmu_tzb_talent_source_id` (`source_id`),
KEY `idx_gxmu_tzb_talent_person_name` (`person_name`),
KEY `idx_gxmu_tzb_talent_school_name` (`school_name`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='挑战杯人才库列表';

View File

@@ -0,0 +1,25 @@
SET @db = DATABASE();
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_declare' AND COLUMN_NAME = 'project_type'
),
'SELECT 1',
'ALTER TABLE gxmu_declare ADD COLUMN project_type VARCHAR(100) NULL COMMENT ''挑战杯项目类型'' AFTER module'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_declare' AND COLUMN_NAME = 'project_group'
),
'SELECT 1',
'ALTER TABLE gxmu_declare ADD COLUMN project_group VARCHAR(255) NULL COMMENT ''挑战杯项目分组'' AFTER project_type'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

View File

@@ -0,0 +1,51 @@
SET @db = DATABASE();
SET @table = 'gxmu_work_ledger';
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'branch_secretary_name'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN branch_secretary_name VARCHAR(100) NULL COMMENT ''团支部书记姓名'' AFTER smart_league_entry_rate');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'branch_secretary_phone'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN branch_secretary_phone VARCHAR(50) NULL COMMENT ''团支部书记手机号'' AFTER branch_secretary_name');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'total_people_count'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN total_people_count VARCHAR(50) NULL COMMENT ''总人数'' AFTER branch_secretary_phone');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'party_member_count'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN party_member_count VARCHAR(50) NULL COMMENT ''党员数'' AFTER total_people_count');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'youth_count'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN youth_count VARCHAR(50) NULL COMMENT ''青年数'' AFTER party_member_count');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'league_youth_ratio'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN league_youth_ratio VARCHAR(100) NULL COMMENT ''团青比例'' AFTER youth_count');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'branch_annual_summary'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN branch_annual_summary LONGTEXT NULL COMMENT ''团支部年度工作总结'' AFTER league_youth_ratio');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'standard_level'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN standard_level VARCHAR(100) NULL COMMENT ''对标定级等次'' AFTER branch_annual_summary');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'branch_committee_members'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN branch_committee_members LONGTEXT NULL COMMENT ''团支部班子成员名单(JSON)'' AFTER branch_annual_summary');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'league_member_registers'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN league_member_registers LONGTEXT NULL COMMENT ''团员登记(JSON)'' AFTER branch_committee_members');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'youth_registers'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN youth_registers LONGTEXT NULL COMMENT ''青年登记(JSON)'' AFTER league_member_registers');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'branch_honor_records'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN branch_honor_records LONGTEXT NULL COMMENT ''团支部荣誉登记(JSON)'' AFTER youth_registers');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'member_fee_records'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN member_fee_records LONGTEXT NULL COMMENT ''团员团费收缴登记(JSON)'' AFTER branch_honor_records');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'branch_meeting_records'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN branch_meeting_records LONGTEXT NULL COMMENT ''团支部会议记录(JSON)'' AFTER member_fee_records');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'branch_activity_records'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN branch_activity_records LONGTEXT NULL COMMENT ''团支部活动记录(JSON)'' AFTER branch_meeting_records');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
SET @sql = IF(EXISTS(SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = @table AND COLUMN_NAME = 'branch_education_evaluations'), 'SELECT 1', 'ALTER TABLE gxmu_work_ledger ADD COLUMN branch_education_evaluations LONGTEXT NULL COMMENT ''团支部教育评议结果(JSON)'' AFTER branch_activity_records');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;

View File

@@ -0,0 +1,85 @@
SET @db = DATABASE();
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tygl_form' AND COLUMN_NAME = 'college'
),
'SELECT 1',
'ALTER TABLE gxmu_tygl_form ADD COLUMN college VARCHAR(255) NULL COMMENT ''学院'' AFTER nation'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tygl_form' AND COLUMN_NAME = 'class_name'
),
'SELECT 1',
'ALTER TABLE gxmu_tygl_form ADD COLUMN class_name VARCHAR(255) NULL COMMENT ''班级'' AFTER college'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tygl_form' AND COLUMN_NAME = 'politics'
),
'SELECT 1',
'ALTER TABLE gxmu_tygl_form ADD COLUMN politics VARCHAR(100) NULL COMMENT ''政治面貌'' AFTER class_name'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tygl_form' AND COLUMN_NAME = 'branch_organization_id'
),
'SELECT 1',
'ALTER TABLE gxmu_tygl_form ADD COLUMN branch_organization_id INT NULL COMMENT ''所属团支部ID'' AFTER league_position'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tygl_form' AND COLUMN_NAME = 'branch_organization_name'
),
'SELECT 1',
'ALTER TABLE gxmu_tygl_form ADD COLUMN branch_organization_name VARCHAR(255) NULL COMMENT ''所属团支部'' AFTER branch_organization_id'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tygl_form' AND COLUMN_NAME = 'id_card_no'
),
'SELECT 1',
'ALTER TABLE gxmu_tygl_form ADD COLUMN id_card_no VARCHAR(32) NULL COMMENT ''身份证号'' AFTER branch_organization_name'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tygl_form' AND COLUMN_NAME = 'birth_date'
),
'SELECT 1',
'ALTER TABLE gxmu_tygl_form ADD COLUMN birth_date VARCHAR(20) NULL COMMENT ''出生日期'' AFTER id_card_no'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

View File

@@ -0,0 +1,13 @@
SET @db = DATABASE();
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_wxxzx_project' AND COLUMN_NAME = 'promise_signature'
),
'SELECT 1',
'ALTER TABLE gxmu_wxxzx_project ADD COLUMN promise_signature LONGTEXT NULL COMMENT ''承诺书签名图片(base64)'' AFTER promise_signer'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

View File

@@ -0,0 +1,56 @@
SET @db = DATABASE();
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.TABLES
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_work_ledger'
),
'SELECT 1',
'CREATE TABLE gxmu_work_ledger (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT ''主键ID'',
ledger_type VARCHAR(50) NOT NULL COMMENT ''台账类型'',
unit_name VARCHAR(255) NULL COMMENT ''单位'',
responsible_person VARCHAR(100) NULL COMMENT ''负责人'',
use_start_month VARCHAR(20) NULL COMMENT ''使用开始月份'',
use_end_month VARCHAR(20) NULL COMMENT ''使用结束月份'',
secretary_name VARCHAR(100) NULL COMMENT ''团委书记姓名'',
branch_count VARCHAR(50) NULL COMMENT ''所辖团(总)支部数'',
member_total VARCHAR(50) NULL COMMENT ''团员总数'',
faculty_member_count VARCHAR(50) NULL COMMENT ''教职工团员数'',
student_member_count VARCHAR(50) NULL COMMENT ''学生团员数'',
minority_member_count VARCHAR(50) NULL COMMENT ''少数民族团员数'',
female_member_count VARCHAR(50) NULL COMMENT ''女团员数'',
youth14_to_28_count VARCHAR(50) NULL COMMENT ''14-28岁青年数'',
youth29_to_35_count VARCHAR(50) NULL COMMENT ''29-35岁青年数'',
cadre_total VARCHAR(50) NULL COMMENT ''团干总数'',
faculty_cadre_count VARCHAR(50) NULL COMMENT ''职工团干数'',
student_cadre_count VARCHAR(50) NULL COMMENT ''学生团干数'',
last_election_time VARCHAR(50) NULL COMMENT ''最近一次换届时间'',
fee_balance VARCHAR(50) NULL COMMENT ''团费余额'',
first_half_fee_due VARCHAR(50) NULL COMMENT ''上半年应缴团费'',
first_half_fee_paid VARCHAR(50) NULL COMMENT ''上半年实缴团费'',
second_half_fee_due VARCHAR(50) NULL COMMENT ''下半年应缴团费'',
second_half_fee_paid VARCHAR(50) NULL COMMENT ''下半年实缴团费'',
school_society_connection_rate VARCHAR(100) NULL COMMENT ''学社衔接率'',
smart_league_entry_rate VARCHAR(100) NULL COMMENT ''智慧团建录入率'',
annual_summary LONGTEXT NULL COMMENT ''年度工作总结'',
committee_members LONGTEXT NULL COMMENT ''团委班子成员名单(JSON)'',
fee_records LONGTEXT NULL COMMENT ''团费收支记录(JSON)'',
subordinate_orgs LONGTEXT NULL COMMENT ''下属团组织情况(JSON)'',
honor_records LONGTEXT NULL COMMENT ''荣誉登记(JSON)'',
activist_recommendations LONGTEXT NULL COMMENT ''推荐入党积极分子(JSON)'',
discipline_records LONGTEXT NULL COMMENT ''团员团纪处理记录(JSON)'',
meeting_records LONGTEXT NULL COMMENT ''团委会议记录(JSON)'',
activity_records LONGTEXT NULL COMMENT ''团委活动记录(JSON)'',
education_evaluations LONGTEXT NULL COMMENT ''年度团员教育评议结果(JSON)'',
year INT NULL COMMENT ''年度'',
user_id INT NULL COMMENT ''用户ID'',
deleted INT DEFAULT 0 COMMENT ''是否删除'',
tenant_id INT NULL COMMENT ''租户ID'',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT ''创建时间'',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ''更新时间''
) COMMENT=''基层团组织工作台账'''
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

View File

@@ -0,0 +1,17 @@
CREATE TABLE IF NOT EXISTS gxmu_wxxzx_archive_record (
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
project_id INT NOT NULL COMMENT '未来学术之星项目ID',
archive_order INT NULL COMMENT '排序号',
award_name VARCHAR(255) NULL COMMENT '获奖名称',
award_time VARCHAR(30) NULL COMMENT '获奖时间',
remark TEXT NULL COMMENT '备注说明',
proof_file VARCHAR(500) NULL COMMENT '上传凭证',
year INT NULL COMMENT '年度',
user_id BIGINT NULL COMMENT '用户ID',
tenant_id BIGINT NULL COMMENT '租户ID',
deleted INT DEFAULT 0 COMMENT '删除标记0未删 1已删',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
INDEX idx_wxxzx_archive_project_id (project_id),
INDEX idx_wxxzx_archive_year (year)
) COMMENT='未来学术之星成果归档记录';

View File

@@ -0,0 +1,52 @@
-- 学院管理、班级管理建表脚本
-- 班级绑定在学院下
DROP TABLE IF EXISTS `gxmu_class`;
DROP TABLE IF EXISTS `gxmu_college`;
CREATE TABLE `gxmu_college` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`college_code` VARCHAR(64) NOT NULL COMMENT '学院编码',
`college_name` VARCHAR(100) NOT NULL COMMENT '学院名称',
`short_name` VARCHAR(100) DEFAULT NULL COMMENT '学院简称',
`leader_name` VARCHAR(50) DEFAULT NULL COMMENT '负责人',
`leader_phone` VARCHAR(30) DEFAULT NULL COMMENT '负责人电话',
`sort_number` INT DEFAULT 0 COMMENT '排序号',
`status` TINYINT DEFAULT 1 COMMENT '状态1启用 0停用',
`remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
`tenant_id` INT DEFAULT NULL COMMENT '租户ID',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` TINYINT DEFAULT 0 COMMENT '删除标记0未删 1已删',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_gxmu_college_code_tenant` (`college_code`, `tenant_id`),
UNIQUE KEY `uk_gxmu_college_name_tenant` (`college_name`, `tenant_id`),
KEY `idx_gxmu_college_status` (`status`),
KEY `idx_gxmu_college_sort` (`sort_number`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学院管理表';
CREATE TABLE `gxmu_class` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`college_id` INT NOT NULL COMMENT '学院ID',
`class_code` VARCHAR(64) NOT NULL COMMENT '班级编码',
`class_name` VARCHAR(100) NOT NULL COMMENT '班级名称',
`grade_year` INT DEFAULT NULL COMMENT '年级',
`counselor_name` VARCHAR(50) DEFAULT NULL COMMENT '辅导员姓名',
`counselor_phone` VARCHAR(30) DEFAULT NULL COMMENT '辅导员电话',
`student_count` INT DEFAULT 0 COMMENT '学生人数',
`sort_number` INT DEFAULT 0 COMMENT '排序号',
`status` TINYINT DEFAULT 1 COMMENT '状态1启用 0停用',
`remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
`tenant_id` INT DEFAULT NULL COMMENT '租户ID',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` TINYINT DEFAULT 0 COMMENT '删除标记0未删 1已删',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_gxmu_class_code_tenant` (`class_code`, `tenant_id`),
UNIQUE KEY `uk_gxmu_class_name_college_tenant` (`college_id`, `class_name`, `tenant_id`),
KEY `idx_gxmu_class_college_id` (`college_id`),
KEY `idx_gxmu_class_status` (`status`),
KEY `idx_gxmu_class_grade_year` (`grade_year`),
CONSTRAINT `fk_gxmu_class_college_id`
FOREIGN KEY (`college_id`) REFERENCES `gxmu_college` (`id`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='班级管理表';

View File

@@ -0,0 +1,86 @@
SET @db = DATABASE();
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_declare' AND COLUMN_NAME = 'form_project_type'
),
'SELECT 1',
'ALTER TABLE gxmu_declare ADD COLUMN form_project_type TEXT NULL COMMENT ''挑战杯项目申报表项目类型(JSON数组字符串)'' AFTER project_group'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_declare' AND COLUMN_NAME = 'form_project_group'
),
'SELECT 1',
'ALTER TABLE gxmu_declare ADD COLUMN form_project_group TEXT NULL COMMENT ''挑战杯项目申报表项目分组(JSON数组字符串)'' AFTER form_project_type'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_declare' AND COLUMN_NAME = 'public_project_type'
),
'SELECT 1',
'ALTER TABLE gxmu_declare ADD COLUMN public_project_type TEXT NULL COMMENT ''挑战杯公开展示信息表项目类型(JSON数组字符串)'' AFTER form_project_group'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_declare' AND COLUMN_NAME = 'public_project_group'
),
'SELECT 1',
'ALTER TABLE gxmu_declare ADD COLUMN public_project_group TEXT NULL COMMENT ''挑战杯公开展示信息表项目分组(JSON数组字符串)'' AFTER public_project_type'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
UPDATE gxmu_declare
SET
form_project_type = COALESCE(form_project_type, project_type),
form_project_group = COALESCE(form_project_group, project_group),
public_project_type = COALESCE(public_project_type, project_type),
public_project_group = COALESCE(public_project_group, project_group)
WHERE module = 'gxmu_tzbcy_form';
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tzbcy_form' AND COLUMN_NAME = 'public_project_type'
),
'SELECT 1',
'ALTER TABLE gxmu_tzbcy_form ADD COLUMN public_project_type VARCHAR(64) NULL COMMENT ''公开展示项目类型'' AFTER project_group'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @sql = IF(
EXISTS(
SELECT 1 FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'gxmu_tzbcy_form' AND COLUMN_NAME = 'public_project_group'
),
'SELECT 1',
'ALTER TABLE gxmu_tzbcy_form ADD COLUMN public_project_group VARCHAR(128) NULL COMMENT ''公开展示项目分组'' AFTER public_project_type'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
UPDATE gxmu_tzbcy_form
SET
public_project_type = COALESCE(public_project_type, project_type),
public_project_group = COALESCE(public_project_group, project_group);

View File

@@ -0,0 +1,26 @@
CREATE TABLE IF NOT EXISTS `gxmu_cross_school_activity_article` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`source_key` VARCHAR(64) NOT NULL COMMENT '来源唯一键',
`title` VARCHAR(512) NOT NULL COMMENT '文章标题',
`school_name` VARCHAR(128) NOT NULL COMMENT '高校名称',
`category` VARCHAR(64) DEFAULT NULL COMMENT '活动类型',
`heat_level` VARCHAR(32) DEFAULT NULL COMMENT '热度等级',
`source_name` VARCHAR(128) DEFAULT NULL COMMENT '来源名称',
`publish_time` DATETIME DEFAULT NULL COMMENT '发布时间',
`summary` VARCHAR(1024) DEFAULT NULL COMMENT '摘要',
`tags` VARCHAR(512) DEFAULT NULL COMMENT '标签JSON',
`cover_image` VARCHAR(1024) DEFAULT NULL COMMENT '封面图',
`detail_url` VARCHAR(1024) NOT NULL COMMENT '详情链接',
`source_url` VARCHAR(1024) DEFAULT NULL COMMENT '来源列表页',
`highlight` VARCHAR(255) DEFAULT NULL COMMENT '可借鉴动作',
`content_text` TEXT COMMENT '正文文本',
`last_sync_time` DATETIME DEFAULT NULL COMMENT '最近同步时间',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记0未删 1已删',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_gxmu_cross_school_activity_source_key` (`source_key`),
KEY `idx_gxmu_cross_school_activity_publish_time` (`publish_time`),
KEY `idx_gxmu_cross_school_activity_school_name` (`school_name`),
KEY `idx_gxmu_cross_school_activity_category` (`category`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='跨校活动情报文章';

View File

@@ -0,0 +1,27 @@
CREATE TABLE IF NOT EXISTS `gxmu_tzbcy_material` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`form_id` INT NOT NULL COMMENT '挑战杯申报ID',
`material_type` VARCHAR(128) NOT NULL COMMENT '材料类型',
`file_id` INT DEFAULT NULL COMMENT '文件记录ID',
`file_name` VARCHAR(255) DEFAULT NULL COMMENT '文件名称',
`file_path` VARCHAR(1024) DEFAULT NULL COMMENT '文件路径',
`file_url` VARCHAR(1024) DEFAULT NULL COMMENT '文件访问地址',
`download_url` VARCHAR(1024) DEFAULT NULL COMMENT '文件下载地址',
`file_size` BIGINT DEFAULT NULL COMMENT '文件大小',
`content_type` VARCHAR(255) DEFAULT NULL COMMENT '文件类型',
`status` TINYINT NOT NULL DEFAULT 0 COMMENT '审核状态0待审核 1通过 2驳回',
`reject_reason` VARCHAR(500) DEFAULT NULL COMMENT '驳回原因',
`audit_user_id` INT DEFAULT NULL COMMENT '审核人ID',
`audit_time` DATETIME DEFAULT NULL COMMENT '审核时间',
`user_id` INT DEFAULT NULL COMMENT '用户ID',
`deleted` TINYINT NOT NULL DEFAULT 0 COMMENT '删除标记0未删 1已删',
`tenant_id` INT DEFAULT NULL COMMENT '租户ID',
`create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `idx_tzbcy_material_form_id` (`form_id`),
KEY `idx_tzbcy_material_type` (`material_type`),
KEY `idx_tzbcy_material_status` (`status`),
KEY `idx_tzbcy_material_user_id` (`user_id`),
KEY `idx_tzbcy_material_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='挑战杯申报材料';