”学生考核更新.txt
This commit is contained in:
1 parent
a2a0f54e84
commit
7c8cc72095
109 files changed
+21193
-18
No files matched your search
@@ -0,0 +1,332 @@
|
||||
-- =====================================================
|
||||
-- 学生考核管理系统违纪处分体系升级脚本
|
||||
-- 版本: V2.0.0
|
||||
-- 创建时间: 2025-01-27
|
||||
-- 描述: 基于标准化违纪处分等级,升级考核计划管理和指标体系
|
||||
-- =====================================================
|
||||
|
||||
-- 1. 修改考核计划表,新增配置字段
|
||||
-- =====================================================
|
||||
ALTER TABLE xskh_assessment_plan ADD COLUMN base_score DECIMAL(5,2) DEFAULT 100.00 COMMENT '基础分数';
|
||||
ALTER TABLE xskh_assessment_plan ADD COLUMN pass_score DECIMAL(5,2) DEFAULT 60.00 COMMENT '及格分数';
|
||||
ALTER TABLE xskh_assessment_plan ADD COLUMN excellent_score DECIMAL(5,2) DEFAULT 85.00 COMMENT '优秀分数';
|
||||
ALTER TABLE xskh_assessment_plan ADD COLUMN auto_deduct_enabled CHAR(1) DEFAULT '1' COMMENT '是否启用自动扣分(0否1是)';
|
||||
ALTER TABLE xskh_assessment_plan ADD COLUMN bonus_enabled CHAR(1) DEFAULT '1' COMMENT '是否启用加分项(0否1是)';
|
||||
ALTER TABLE xskh_assessment_plan ADD COLUMN discipline_weight DECIMAL(3,2) DEFAULT 1.00 COMMENT '违纪扣分权重';
|
||||
ALTER TABLE xskh_assessment_plan ADD COLUMN bonus_weight DECIMAL(3,2) DEFAULT 1.00 COMMENT '加分项权重';
|
||||
|
||||
-- 2. 修改处分类型表,新增扣分范围字段
|
||||
-- =====================================================
|
||||
ALTER TABLE xskh_punishment_type ADD COLUMN score_deduction_min DECIMAL(5,2) DEFAULT 0.00 COMMENT '最小扣分';
|
||||
ALTER TABLE xskh_punishment_type ADD COLUMN score_deduction_max DECIMAL(5,2) DEFAULT 0.00 COMMENT '最大扣分';
|
||||
ALTER TABLE xskh_punishment_type ADD COLUMN archive_years INT DEFAULT 1 COMMENT '记入档案年限';
|
||||
ALTER TABLE xskh_punishment_type ADD COLUMN auto_match_enabled CHAR(1) DEFAULT '1' COMMENT '是否启用自动匹配(0否1是)';
|
||||
|
||||
-- 3. 创建违纪扣分计算表
|
||||
-- =====================================================
|
||||
CREATE TABLE xskh_discipline_score_calculation (
|
||||
id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
plan_id BIGINT(20) NOT NULL COMMENT '考核计划ID',
|
||||
student_id BIGINT(20) NOT NULL COMMENT '学生ID',
|
||||
student_no VARCHAR(50) NOT NULL COMMENT '学号',
|
||||
student_name VARCHAR(100) NOT NULL COMMENT '学生姓名',
|
||||
total_deduction DECIMAL(5,2) DEFAULT 0.00 COMMENT '总扣分',
|
||||
warning_count INT DEFAULT 0 COMMENT '警告次数',
|
||||
serious_warning_count INT DEFAULT 0 COMMENT '严重警告次数',
|
||||
demerit_count INT DEFAULT 0 COMMENT '记过次数',
|
||||
probation_count INT DEFAULT 0 COMMENT '留校察看次数',
|
||||
expulsion_count INT DEFAULT 0 COMMENT '开除学籍次数',
|
||||
calculation_rules TEXT COMMENT '计算规则JSON',
|
||||
last_update_time DATETIME COMMENT '最后更新时间',
|
||||
create_by BIGINT(20) COMMENT '创建者',
|
||||
create_time DATETIME COMMENT '创建时间',
|
||||
update_by BIGINT(20) COMMENT '更新者',
|
||||
update_time DATETIME COMMENT '更新时间',
|
||||
deleted TINYINT(1) DEFAULT 0 COMMENT '删除标志',
|
||||
tenant_id BIGINT(20) COMMENT '租户ID',
|
||||
PRIMARY KEY (id),
|
||||
INDEX idx_plan_student (plan_id, student_id),
|
||||
INDEX idx_student_no (student_no)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='违纪扣分计算表';
|
||||
|
||||
-- 4. 创建违纪计分规则表
|
||||
-- =====================================================
|
||||
CREATE TABLE xskh_discipline_score_rule (
|
||||
id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||
rule_name VARCHAR(100) NOT NULL COMMENT '规则名称',
|
||||
rule_code VARCHAR(50) NOT NULL COMMENT '规则编码',
|
||||
rule_type CHAR(1) DEFAULT '1' COMMENT '规则类型(1累积2重复3时间衰减)',
|
||||
punishment_level CHAR(1) COMMENT '处分等级(1警告2严重警告3记过4留校察看5开除)',
|
||||
min_score DECIMAL(5,2) DEFAULT 0.00 COMMENT '最小扣分',
|
||||
max_score DECIMAL(5,2) DEFAULT 0.00 COMMENT '最大扣分',
|
||||
weight_factor DECIMAL(3,2) DEFAULT 1.00 COMMENT '权重系数',
|
||||
rule_config TEXT COMMENT '规则配置JSON',
|
||||
status CHAR(1) DEFAULT '1' COMMENT '状态(0停用1启用)',
|
||||
create_by BIGINT(20) COMMENT '创建者',
|
||||
create_time DATETIME COMMENT '创建时间',
|
||||
update_by BIGINT(20) COMMENT '更新者',
|
||||
update_time DATETIME COMMENT '更新时间',
|
||||
deleted TINYINT(1) DEFAULT 0 COMMENT '删除标志',
|
||||
tenant_id BIGINT(20) COMMENT '租户ID',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_rule_code (rule_code),
|
||||
INDEX idx_rule_type (rule_type),
|
||||
INDEX idx_punishment_level (punishment_level)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='违纪计分规则表';
|
||||
|
||||
-- 5. 清空并重新插入标准化处分类型数据
|
||||
-- =====================================================
|
||||
DELETE FROM xskh_punishment_type WHERE deleted = 0;
|
||||
|
||||
INSERT INTO xskh_punishment_type (
|
||||
type_code, type_name, type_desc, level, score_deduction_min, score_deduction_max,
|
||||
archive_years, valid_days, can_appeal, appeal_days, auto_match_enabled, status,
|
||||
create_by, create_time, update_by, update_time, deleted, tenant_id
|
||||
) VALUES
|
||||
('WARNING', '警告', '累计旷课6-10课时;宿舍使用违规电器(首次);课堂辱骂教师或扰乱秩序;抄袭作业/实验报告(首次)',
|
||||
'1', 3.0, 5.0, 1, 365, '1', 15, '1', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('SERIOUS_WARNING', '严重警告', '考试作弊(未遂);伪造请假条/证明文件;网络传播不实信息(未造成重大影响);打架斗殴(未致伤)',
|
||||
'2', 6.0, 8.0, 2, 730, '1', 15, '1', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('DEMERIT', '记过', '考试作弊(已实施);恶意破坏教学/实验设备(损失<500元);组织赌博或饮酒滋事;夜不归宿累计≥5次',
|
||||
'3', 9.0, 12.0, 3, 1095, '1', 15, '1', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('PROBATION', '留校察看', '重复考试作弊或团伙作弊;打架斗殴致轻伤;传播违法信息(如反动、淫秽内容);盗窃公私财物(金额<1000元)',
|
||||
'4', 13.0, 20.0, 99, 9999, '1', 30, '1', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('EXPULSION', '开除学籍', '违反刑法或治安管理法被追究刑事责任;学术造假(如代写论文、买卖论文);群体斗殴造成重伤或恶劣影响;吸毒、贩毒等严重违法行为',
|
||||
'5', 100.0, 100.0, 99, 9999, '0', 0, '1', '1', 1, NOW(), 1, NOW(), 0, 1);
|
||||
|
||||
-- 6. 清空并重新插入标准化违纪类型数据
|
||||
-- =====================================================
|
||||
DELETE FROM xskh_discipline_type WHERE deleted = 0;
|
||||
|
||||
INSERT INTO xskh_discipline_type (
|
||||
type_code, type_name, type_desc, parent_id, severity, score_deduction, status,
|
||||
create_by, create_time, update_by, update_time, deleted, tenant_id
|
||||
) VALUES
|
||||
-- 警告级别违纪
|
||||
('ABSENCE_6_10', '累计旷课6-10课时', '无故不参加规定的教学活动,累计6-10课时', 0, '2', 4.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('ILLEGAL_APPLIANCE_FIRST', '宿舍使用违规电器(首次)', '在宿舍使用大功率电器等违规用电设备', 0, '2', 3.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('CLASSROOM_MISCONDUCT', '课堂辱骂教师或扰乱秩序', '在课堂上辱骂教师或严重扰乱课堂秩序', 0, '2', 5.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('PLAGIARISM_FIRST', '抄袭作业/实验报告(首次)', '抄袭他人作业或实验报告,首次发现', 0, '2', 4.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
-- 严重警告级别违纪
|
||||
('EXAM_CHEAT_ATTEMPT', '考试作弊(未遂)', '考试过程中企图作弊但未得逞', 0, '3', 7.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('FORGE_DOCUMENT', '伪造请假条/证明文件', '伪造各类请假条或证明文件', 0, '3', 6.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('SPREAD_FALSE_INFO', '网络传播不实信息', '在网络上传播不实信息,未造成重大影响', 0, '3', 8.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('FIGHT_NO_INJURY', '打架斗殴(未致伤)', '参与打架斗殴但未造成人员受伤', 0, '3', 7.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
-- 记过级别违纪
|
||||
('EXAM_CHEAT_SUCCESS', '考试作弊(已实施)', '考试过程中实际进行作弊行为', 0, '4', 10.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('DAMAGE_EQUIPMENT', '恶意破坏教学/实验设备', '故意破坏教学或实验设备,损失500元以下', 0, '4', 12.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('GAMBLING_DRINKING', '组织赌博或饮酒滋事', '组织或参与赌博活动,或因饮酒引发事端', 0, '4', 9.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('NIGHT_OUT_5TIMES', '夜不归宿累计≥5次', '夜不归宿累计达到或超过5次', 0, '4', 11.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
-- 留校察看级别违纪
|
||||
('REPEAT_EXAM_CHEAT', '重复考试作弊或团伙作弊', '多次考试作弊或组织团伙作弊', 0, '5', 15.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('FIGHT_INJURY', '打架斗殴致轻伤', '参与打架斗殴并造成他人轻伤', 0, '5', 18.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('SPREAD_ILLEGAL_INFO', '传播违法信息', '传播反动、淫秽等违法信息内容', 0, '5', 20.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('THEFT_UNDER_1000', '盗窃公私财物', '盗窃公私财物,金额1000元以下', 0, '5', 16.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
-- 开除学籍级别违纪
|
||||
('CRIMINAL_OFFENSE', '违反刑法被追究刑事责任', '违反刑法或治安管理法被追究刑事责任', 0, '6', 100.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('ACADEMIC_FRAUD', '学术造假', '代写论文、买卖论文等学术造假行为', 0, '6', 100.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('SERIOUS_FIGHT', '群体斗殴造成重伤', '参与群体斗殴并造成重伤或恶劣影响', 0, '6', 100.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('DRUG_OFFENSE', '吸毒、贩毒等严重违法行为', '吸毒、贩毒等严重违法犯罪行为', 0, '6', 100.0, '1', 1, NOW(), 1, NOW(), 0, 1);
|
||||
|
||||
-- 7. 插入违纪计分规则基础数据
|
||||
-- =====================================================
|
||||
INSERT INTO xskh_discipline_score_rule (
|
||||
rule_name, rule_code, rule_type, punishment_level, min_score, max_score, weight_factor,
|
||||
rule_config, status, create_by, create_time, update_by, update_time, deleted, tenant_id
|
||||
) VALUES
|
||||
('警告处分计分规则', 'WARNING_SCORE', '1', '1', 3.0, 5.0, 1.0,
|
||||
'{"description":"警告处分扣分规则","archiveYears":1,"appealAllowed":true}', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('严重警告处分计分规则', 'SERIOUS_WARNING_SCORE', '1', '2', 6.0, 8.0, 1.0,
|
||||
'{"description":"严重警告处分扣分规则","archiveYears":2,"appealAllowed":true}', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('记过处分计分规则', 'DEMERIT_SCORE', '1', '3', 9.0, 12.0, 1.0,
|
||||
'{"description":"记过处分扣分规则","archiveYears":3,"appealAllowed":true}', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('留校察看处分计分规则', 'PROBATION_SCORE', '1', '4', 13.0, 20.0, 1.0,
|
||||
'{"description":"留校察看处分扣分规则","archiveYears":99,"appealAllowed":true}', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('开除学籍处分计分规则', 'EXPULSION_SCORE', '1', '5', 100.0, 100.0, 1.0,
|
||||
'{"description":"开除学籍处分扣分规则","archiveYears":99,"appealAllowed":false}', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('重复违纪加重规则', 'REPEAT_OFFENSE', '2', NULL, 0.0, 0.0, 1.5,
|
||||
'{"description":"同类违纪重复加重50%","sameTypeFactor":1.5,"crossTypeFactor":1.2}', '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
('时间衰减规则', 'TIME_DECAY', '3', NULL, 0.0, 0.0, 0.9,
|
||||
'{"description":"违纪记录时间衰减规则","decayPeriod":365,"decayRate":0.1,"enabled":true}', '1', 1, NOW(), 1, NOW(), 0, 1);
|
||||
|
||||
-- 8. 插入德智体美劳五育指标体系基础数据
|
||||
-- =====================================================
|
||||
-- 清空现有指标数据
|
||||
DELETE FROM xskh_assessment_indicator WHERE deleted = 0;
|
||||
|
||||
INSERT INTO xskh_assessment_indicator (
|
||||
indicator_code, indicator_name, indicator_desc, indicator_type, weight, max_score, min_score,
|
||||
status, create_by, create_time, update_by, update_time, deleted, tenant_id
|
||||
) VALUES
|
||||
-- 德育指标 (20%)
|
||||
('MORAL_IDEOLOGY', '思想品德', '政治立场、道德品质评价', '1', 8.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('MORAL_BEHAVIOR', '行为规范', '遵纪守法、文明礼貌评价', '1', 7.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('MORAL_DISCIPLINE', '违纪记录', '违纪处分扣分项', '1', -15.0, 0.0, -100.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
-- 智育指标 (40%)
|
||||
('INTELLECTUAL_GRADE', '学业成绩', '课程成绩、GPA评价', '2', 30.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('INTELLECTUAL_ATTITUDE', '学习态度', '出勤率、课堂表现评价', '2', 5.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('INTELLECTUAL_INNOVATION', '创新能力', '科研项目、学科竞赛评价', '2', 5.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
-- 体育指标 (15%)
|
||||
('PHYSICAL_TEST', '体测成绩', '国家体质健康测试成绩', '3', 10.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('PHYSICAL_ACTIVITY', '体育活动', '体育比赛、运动会参与', '3', 3.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('PHYSICAL_HEALTH', '健康状况', '身体健康、心理健康状况', '3', 2.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
-- 美育指标 (10%)
|
||||
('AESTHETIC_LITERACY', '艺术素养', '艺术课程、文艺活动参与', '4', 5.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('AESTHETIC_ABILITY', '审美能力', '美学认知、创作能力评价', '4', 3.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('AESTHETIC_CULTURE', '文化传承', '传统文化、非遗传承参与', '4', 2.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
|
||||
-- 劳育指标 (15%)
|
||||
('LABOR_PRACTICE', '劳动实践', '劳动课程、实践活动参与', '5', 8.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('LABOR_SERVICE', '社会服务', '志愿服务、社会实践活动', '5', 4.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1),
|
||||
('LABOR_SKILL', '生活技能', '生活自理、劳动技能评价', '5', 3.0, 100.0, 0.0, '1', 1, NOW(), 1, NOW(), 0, 1);
|
||||
|
||||
-- 9. 更新考核方案,关联德智体美劳指标体系
|
||||
-- =====================================================
|
||||
-- 假设已有考核方案ID为1,更新为五育指标体系
|
||||
INSERT INTO xskh_scheme_indicator (scheme_id, indicator_id, weight, status, create_by, create_time, update_by, update_time, deleted, tenant_id)
|
||||
SELECT 1, id, weight, '1', 1, NOW(), 1, NOW(), 0, 1
|
||||
FROM xskh_assessment_indicator
|
||||
WHERE deleted = 0;
|
||||
|
||||
-- 10. 创建违纪类型与处分类型关联视图
|
||||
-- =====================================================
|
||||
CREATE OR REPLACE VIEW v_discipline_punishment_mapping AS
|
||||
SELECT
|
||||
dt.id as discipline_type_id,
|
||||
dt.type_code as discipline_code,
|
||||
dt.type_name as discipline_name,
|
||||
dt.severity,
|
||||
pt.id as punishment_type_id,
|
||||
pt.type_code as punishment_code,
|
||||
pt.type_name as punishment_name,
|
||||
pt.level as punishment_level,
|
||||
pt.score_deduction_min,
|
||||
pt.score_deduction_max,
|
||||
pt.archive_years,
|
||||
CASE
|
||||
WHEN dt.severity = '2' THEN 1 -- 轻微 -> 警告
|
||||
WHEN dt.severity = '3' THEN 2 -- 一般 -> 严重警告
|
||||
WHEN dt.severity = '4' THEN 3 -- 严重 -> 记过
|
||||
WHEN dt.severity = '5' THEN 4 -- 特别严重 -> 留校察看
|
||||
WHEN dt.severity = '6' THEN 5 -- 极严重 -> 开除学籍
|
||||
ELSE 1
|
||||
END as auto_match_level
|
||||
FROM xskh_discipline_type dt
|
||||
CROSS JOIN xskh_punishment_type pt
|
||||
WHERE dt.deleted = 0 AND pt.deleted = 0
|
||||
AND CASE
|
||||
WHEN dt.severity = '2' THEN pt.level = '1'
|
||||
WHEN dt.severity = '3' THEN pt.level = '2'
|
||||
WHEN dt.severity = '4' THEN pt.level = '3'
|
||||
WHEN dt.severity = '5' THEN pt.level = '4'
|
||||
WHEN dt.severity = '6' THEN pt.level = '5'
|
||||
ELSE FALSE
|
||||
END;
|
||||
|
||||
-- 11. 创建学生考核综合统计视图
|
||||
-- =====================================================
|
||||
CREATE OR REPLACE VIEW v_student_assessment_summary AS
|
||||
SELECT
|
||||
ap.id as plan_id,
|
||||
ap.plan_name,
|
||||
ar.student_id,
|
||||
ar.student_no,
|
||||
ar.student_name,
|
||||
ar.total_score,
|
||||
COALESCE(dsc.total_deduction, 0) as discipline_deduction,
|
||||
COALESCE(ba.total_bonus, 0) as bonus_addition,
|
||||
(ar.total_score - COALESCE(dsc.total_deduction, 0) + COALESCE(ba.total_bonus, 0)) as final_score,
|
||||
CASE
|
||||
WHEN (ar.total_score - COALESCE(dsc.total_deduction, 0) + COALESCE(ba.total_bonus, 0)) >= ap.excellent_score THEN '优秀'
|
||||
WHEN (ar.total_score - COALESCE(dsc.total_deduction, 0) + COALESCE(ba.total_bonus, 0)) >= ap.pass_score THEN '合格'
|
||||
ELSE '不合格'
|
||||
END as grade_level,
|
||||
ar.create_time as assessment_time
|
||||
FROM xskh_assessment_plan ap
|
||||
LEFT JOIN xskh_assessment_record ar ON ap.id = ar.plan_id AND ar.deleted = 0
|
||||
LEFT JOIN xskh_discipline_score_calculation dsc ON ap.id = dsc.plan_id AND ar.student_id = dsc.student_id AND dsc.deleted = 0
|
||||
LEFT JOIN (
|
||||
SELECT plan_id, student_id, SUM(approve_score) as total_bonus
|
||||
FROM xskh_bonus_application
|
||||
WHERE deleted = 0 AND status = '2'
|
||||
GROUP BY plan_id, student_id
|
||||
) ba ON ap.id = ba.plan_id AND ar.student_id = ba.student_id
|
||||
WHERE ap.deleted = 0;
|
||||
|
||||
-- 12. 插入系统字典数据
|
||||
-- =====================================================
|
||||
INSERT INTO sys_dict_type (dict_name, dict_type, status, create_by, create_time, remark) VALUES
|
||||
('考核方案类型', 'xskh_scheme_type', '0', 1, NOW(), '学生考核方案类型'),
|
||||
('考核指标类型', 'xskh_indicator_type', '0', 1, NOW(), '学生考核指标类型'),
|
||||
('违纪严重程度', 'xskh_discipline_severity', '0', 1, NOW(), '违纪行为严重程度'),
|
||||
('处分等级', 'xskh_punishment_level', '0', 1, NOW(), '学生处分等级'),
|
||||
('附加分类型', 'xskh_bonus_type', '0', 1, NOW(), '学生附加分类型');
|
||||
|
||||
INSERT INTO sys_dict_data (dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark) VALUES
|
||||
-- 考核方案类型
|
||||
(1, '本科生方案', '1', 'xskh_scheme_type', '', 'primary', 'Y', '0', 1, NOW(), '本科生考核方案'),
|
||||
(2, '研究生方案', '2', 'xskh_scheme_type', '', 'success', 'N', '0', 1, NOW(), '研究生考核方案'),
|
||||
(3, '专科生方案', '3', 'xskh_scheme_type', '', 'info', 'N', '0', 1, NOW(), '专科生考核方案'),
|
||||
|
||||
-- 考核指标类型
|
||||
(1, '德育指标', '1', 'xskh_indicator_type', '', 'danger', 'N', '0', 1, NOW(), '德育素质指标'),
|
||||
(2, '智育指标', '2', 'xskh_indicator_type', '', 'primary', 'Y', '0', 1, NOW(), '智育素质指标'),
|
||||
(3, '体育指标', '3', 'xskh_indicator_type', '', 'success', 'N', '0', 1, NOW(), '体育素质指标'),
|
||||
(4, '美育指标', '4', 'xskh_indicator_type', '', 'warning', 'N', '0', 1, NOW(), '美育素质指标'),
|
||||
(5, '劳育指标', '5', 'xskh_indicator_type', '', 'info', 'N', '0', 1, NOW(), '劳育素质指标'),
|
||||
|
||||
-- 违纪严重程度
|
||||
(1, '轻微', '2', 'xskh_discipline_severity', '', 'info', 'N', '0', 1, NOW(), '轻微违纪'),
|
||||
(2, '一般', '3', 'xskh_discipline_severity', '', 'warning', 'Y', '0', 1, NOW(), '一般违纪'),
|
||||
(3, '严重', '4', 'xskh_discipline_severity', '', 'danger', 'N', '0', 1, NOW(), '严重违纪'),
|
||||
(4, '特别严重', '5', 'xskh_discipline_severity', '', 'danger', 'N', '0', 1, NOW(), '特别严重违纪'),
|
||||
(5, '极严重', '6', 'xskh_discipline_severity', '', 'danger', 'N', '0', 1, NOW(), '极严重违纪'),
|
||||
|
||||
-- 处分等级
|
||||
(1, '警告', '1', 'xskh_punishment_level', '', 'warning', 'N', '0', 1, NOW(), '警告处分'),
|
||||
(2, '严重警告', '2', 'xskh_punishment_level', '', 'warning', 'N', '0', 1, NOW(), '严重警告处分'),
|
||||
(3, '记过', '3', 'xskh_punishment_level', '', 'danger', 'Y', '0', 1, NOW(), '记过处分'),
|
||||
(4, '留校察看', '4', 'xskh_punishment_level', '', 'danger', 'N', '0', 1, NOW(), '留校察看处分'),
|
||||
(5, '开除学籍', '5', 'xskh_punishment_level', '', 'danger', 'N', '0', 1, NOW(), '开除学籍处分'),
|
||||
|
||||
-- 附加分类型
|
||||
(1, '学科竞赛', '1', 'xskh_bonus_type', '', 'primary', 'Y', '0', 1, NOW(), '学科竞赛获奖'),
|
||||
(2, '科研成果', '2', 'xskh_bonus_type', '', 'success', 'N', '0', 1, NOW(), '科研项目成果'),
|
||||
(3, '社会实践', '3', 'xskh_bonus_type', '', 'info', 'N', '0', 1, NOW(), '社会实践活动'),
|
||||
(4, '志愿服务', '4', 'xskh_bonus_type', '', 'warning', 'N', '0', 1, NOW(), '志愿服务活动'),
|
||||
(5, '文体活动', '5', 'xskh_bonus_type', '', 'success', 'N', '0', 1, NOW(), '文体竞赛活动'),
|
||||
(6, '其他', '6', 'xskh_bonus_type', '', 'info', 'N', '0', 1, NOW(), '其他加分项');
|
||||
|
||||
-- =====================================================
|
||||
-- 升级脚本执行完成
|
||||
-- =====================================================
|
||||
-- 执行说明:
|
||||
-- 1. 本脚本已经包含完整的违纪处分标准化体系
|
||||
-- 2. 新增了考核计划配置字段,支持灵活的评分标准设置
|
||||
-- 3. 创建了违纪扣分计算表和规则表,支持自动化扣分计算
|
||||
-- 4. 插入了德智体美劳五育指标体系的基础数据
|
||||
-- 5. 创建了相关视图,便于数据查询和统计分析
|
||||
-- 6. 添加了系统字典数据,支持前端下拉选择
|
||||
--
|
||||
-- 注意事项:
|
||||
-- 1. 执行前请备份现有数据
|
||||
-- 2. 建议在测试环境先验证脚本的正确性
|
||||
-- 3. 生产环境执行时请在业务低峰期进行
|
||||
-- =====================================================
|
||||
@@ -0,0 +1,218 @@
|
||||
# 考核计划管理评分标准配置 - 数据库升级执行说明
|
||||
|
||||
## 📋 概述信息
|
||||
|
||||
| 项目 | 信息 |
|
||||
|------|------|
|
||||
| **升级脚本** | `考核计划管理评分标准配置数据库升级.sql` |
|
||||
| **版本** | V1.1.0 |
|
||||
| **创建时间** | 2025-01-27 |
|
||||
| **影响范围** | 仅学生考核管理模块,不影响其他模块 |
|
||||
| **执行时间** | 预计1-2分钟 |
|
||||
|
||||
---
|
||||
|
||||
## 🚨 执行前检查
|
||||
|
||||
### ✅ **必须满足的条件**
|
||||
1. **数据库备份**:执行前请务必备份数据库
|
||||
2. **权限确认**:确保有ALTER TABLE和INSERT权限
|
||||
3. **表存在性**:确认`xskh_assessment_plan`表已存在
|
||||
4. **ID冲突检查**:确认菜单ID 9820-9823未被使用
|
||||
|
||||
### 🔍 **冲突检查SQL**
|
||||
```sql
|
||||
-- 检查表是否存在
|
||||
SELECT COUNT(*) FROM information_schema.tables
|
||||
WHERE table_schema = DATABASE() AND table_name = 'xskh_assessment_plan';
|
||||
|
||||
-- 检查菜单ID是否冲突
|
||||
SELECT menu_id, menu_name FROM sys_menu WHERE menu_id BETWEEN 9820 AND 9823;
|
||||
|
||||
-- 检查字段是否已存在
|
||||
SELECT COLUMN_NAME FROM information_schema.columns
|
||||
WHERE table_schema = DATABASE()
|
||||
AND table_name = 'xskh_assessment_plan'
|
||||
AND column_name IN ('base_score', 'pass_score', 'excellent_score');
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 执行步骤
|
||||
|
||||
### **步骤1:数据库备份**
|
||||
```bash
|
||||
# 备份整个数据库(推荐)
|
||||
mysqldump -u用户名 -p数据库名 > backup_$(date +%Y%m%d_%H%M%S).sql
|
||||
|
||||
# 或仅备份相关表
|
||||
mysqldump -u用户名 -p数据库名 xskh_assessment_plan sys_menu sys_role_menu > backup_xskh_$(date +%Y%m%d_%H%M%S).sql
|
||||
```
|
||||
|
||||
### **步骤2:执行升级脚本**
|
||||
```bash
|
||||
# 方式1:命令行执行
|
||||
mysql -u用户名 -p数据库名 < backend/sql/考核计划管理评分标准配置数据库升级.sql
|
||||
|
||||
# 方式2:MySQL客户端执行
|
||||
mysql> source /path/to/考核计划管理评分标准配置数据库升级.sql;
|
||||
```
|
||||
|
||||
### **步骤3:验证执行结果**
|
||||
脚本执行后会自动运行验证查询,检查:
|
||||
- ✅ 新增字段是否正确创建
|
||||
- ✅ 权限配置是否正确插入
|
||||
- ✅ 角色权限关联是否正确
|
||||
|
||||
---
|
||||
|
||||
## 📊 升级内容详情
|
||||
|
||||
### **1. 表结构修改**
|
||||
**表名**: `xskh_assessment_plan`
|
||||
|
||||
| 字段名 | 类型 | 默认值 | 说明 |
|
||||
|--------|------|--------|------|
|
||||
| `base_score` | DECIMAL(5,2) | 100.00 | 基础分数(80-120分) |
|
||||
| `pass_score` | DECIMAL(5,2) | 60.00 | 及格分数(50-70分) |
|
||||
| `excellent_score` | DECIMAL(5,2) | 85.00 | 优秀分数(80-95分) |
|
||||
| `auto_deduct_enabled` | CHAR(1) | '1' | 是否启用自动扣分 |
|
||||
| `bonus_enabled` | CHAR(1) | '1' | 是否启用加分项 |
|
||||
| `discipline_weight` | DECIMAL(3,2) | 1.00 | 违纪扣分权重(0.5-1.5倍) |
|
||||
| `bonus_weight` | DECIMAL(3,2) | 1.00 | 加分项权重(0.5-1.5倍) |
|
||||
|
||||
### **2. 权限配置**
|
||||
**菜单权限**: ID范围 9820-9823
|
||||
|
||||
| ID | 权限名称 | 权限标识 | 说明 |
|
||||
|----|----------|----------|------|
|
||||
| 9820 | 评分标准配置 | `xskh:assessmentPlan:scoreConfig` | 单个计划配置权限 |
|
||||
| 9821 | 批量配置评分标准 | `xskh:assessmentPlan:batchScoreConfig` | 批量配置权限 |
|
||||
| 9822 | 重置评分标准 | `xskh:assessmentPlan:resetScore` | 重置配置权限 |
|
||||
| 9823 | 获取评分配置选项 | `xskh:assessmentPlan:scoreOptions` | 获取选项权限 |
|
||||
|
||||
### **3. 索引优化**
|
||||
- **索引名**: `idx_assessment_plan_score_config`
|
||||
- **字段**: `base_score`, `pass_score`, `excellent_score`
|
||||
- **用途**: 优化评分配置查询性能
|
||||
|
||||
---
|
||||
|
||||
## ✅ 验证方法
|
||||
|
||||
### **执行成功标志**
|
||||
脚本执行后应看到以下输出:
|
||||
```
|
||||
+---------------------------------------------------+
|
||||
| message |
|
||||
+---------------------------------------------------+
|
||||
| 考核计划管理评分标准配置数据库升级完成! |
|
||||
+---------------------------------------------------+
|
||||
|
||||
+----------------------------+
|
||||
| fields_added |
|
||||
+----------------------------+
|
||||
| 新增字段:7个评分配置字段 |
|
||||
+----------------------------+
|
||||
|
||||
+-------------------------------------------+
|
||||
| permissions_added |
|
||||
+-------------------------------------------+
|
||||
| 新增权限:4个功能权限(ID: 9820-9823) |
|
||||
+-------------------------------------------+
|
||||
|
||||
+-------------------------+
|
||||
| tables_affected |
|
||||
+-------------------------+
|
||||
| 影响表:xskh_assessment_plan |
|
||||
+-------------------------+
|
||||
```
|
||||
|
||||
### **手动验证SQL**
|
||||
```sql
|
||||
-- 1. 验证字段创建
|
||||
DESCRIBE xskh_assessment_plan;
|
||||
|
||||
-- 2. 验证权限配置
|
||||
SELECT menu_id, menu_name, perms FROM sys_menu WHERE menu_id BETWEEN 9820 AND 9823;
|
||||
|
||||
-- 3. 验证角色权限
|
||||
SELECT rm.role_id, rm.menu_id, m.menu_name
|
||||
FROM sys_role_menu rm
|
||||
JOIN sys_menu m ON rm.menu_id = m.menu_id
|
||||
WHERE rm.menu_id BETWEEN 9820 AND 9823;
|
||||
|
||||
-- 4. 验证索引创建
|
||||
SHOW INDEX FROM xskh_assessment_plan WHERE Key_name = 'idx_assessment_plan_score_config';
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔄 回滚方案
|
||||
|
||||
### **紧急回滚**
|
||||
如果升级出现问题,可执行回滚:
|
||||
```sql
|
||||
-- 删除新增权限
|
||||
DELETE FROM sys_role_menu WHERE menu_id BETWEEN 9820 AND 9823;
|
||||
DELETE FROM sys_menu WHERE menu_id BETWEEN 9820 AND 9823;
|
||||
|
||||
-- 删除新增字段(注意:会丢失数据)
|
||||
ALTER TABLE `xskh_assessment_plan`
|
||||
DROP COLUMN `base_score`,
|
||||
DROP COLUMN `pass_score`,
|
||||
DROP COLUMN `excellent_score`,
|
||||
DROP COLUMN `auto_deduct_enabled`,
|
||||
DROP COLUMN `bonus_enabled`,
|
||||
DROP COLUMN `discipline_weight`,
|
||||
DROP COLUMN `bonus_weight`;
|
||||
|
||||
-- 删除索引
|
||||
DROP INDEX `idx_assessment_plan_score_config` ON `xskh_assessment_plan`;
|
||||
```
|
||||
|
||||
### **数据恢复**
|
||||
```bash
|
||||
# 从备份恢复
|
||||
mysql -u用户名 -p数据库名 < backup_文件名.sql
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
### **安全提醒**
|
||||
1. **生产环境**:务必在测试环境先验证
|
||||
2. **业务影响**:升级期间可能短暂影响考核计划功能
|
||||
3. **数据完整性**:升级前检查现有数据完整性
|
||||
4. **权限冲突**:确保菜单ID 9820-9823未被其他模块使用
|
||||
|
||||
### **兼容性说明**
|
||||
- ✅ **向前兼容**:新增字段有默认值,不影响现有功能
|
||||
- ✅ **数据保护**:现有数据不会丢失或修改
|
||||
- ✅ **权限安全**:仅新增权限,不修改现有权限
|
||||
- ✅ **模块隔离**:仅影响学生考核管理模块
|
||||
|
||||
---
|
||||
|
||||
## 📞 执行后确认
|
||||
|
||||
### **功能验证清单**
|
||||
- [ ] 考核计划列表正常显示
|
||||
- [ ] 新增评分标准列显示正确
|
||||
- [ ] 评分配置按钮可见(有权限用户)
|
||||
- [ ] 评分配置对话框正常打开
|
||||
- [ ] 批量配置功能正常工作
|
||||
- [ ] 重置默认值功能正常
|
||||
- [ ] 权限控制生效
|
||||
|
||||
### **性能检查**
|
||||
- [ ] 表查询性能正常
|
||||
- [ ] 新增索引生效
|
||||
- [ ] 页面加载速度正常
|
||||
|
||||
---
|
||||
|
||||
**📝 执行状态**: 待执行
|
||||
**🎯 执行目标**: 为考核计划管理添加评分标准配置功能
|
||||
**⚠️ 重要提醒**: 执行前务必备份数据库!
|
||||
@@ -0,0 +1,155 @@
|
||||
-- ==========================================
|
||||
-- 考核计划管理评分标准配置数据库升级脚本
|
||||
-- 版本:V1.1.0
|
||||
-- 创建时间:2025-01-27
|
||||
-- 功能:为考核计划管理添加评分标准配置功能
|
||||
-- 影响范围:仅学生考核管理模块,不影响其他模块
|
||||
-- ==========================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ==========================================
|
||||
-- 1. 考核计划表结构升级
|
||||
-- ==========================================
|
||||
|
||||
-- 为 xskh_assessment_plan 表添加评分标准配置字段
|
||||
ALTER TABLE `xskh_assessment_plan`
|
||||
ADD COLUMN `base_score` DECIMAL(5,2) DEFAULT 100.00 COMMENT '基础分数' AFTER `end_time`,
|
||||
ADD COLUMN `pass_score` DECIMAL(5,2) DEFAULT 60.00 COMMENT '及格分数' AFTER `base_score`,
|
||||
ADD COLUMN `excellent_score` DECIMAL(5,2) DEFAULT 85.00 COMMENT '优秀分数' AFTER `pass_score`,
|
||||
ADD COLUMN `auto_deduct_enabled` CHAR(1) DEFAULT '1' COMMENT '是否启用自动扣分:0-否,1-是' AFTER `excellent_score`,
|
||||
ADD COLUMN `bonus_enabled` CHAR(1) DEFAULT '1' COMMENT '是否启用加分项:0-否,1-是' AFTER `auto_deduct_enabled`,
|
||||
ADD COLUMN `discipline_weight` DECIMAL(3,2) DEFAULT 1.00 COMMENT '违纪扣分权重' AFTER `bonus_enabled`,
|
||||
ADD COLUMN `bonus_weight` DECIMAL(3,2) DEFAULT 1.00 COMMENT '加分项权重' AFTER `discipline_weight`;
|
||||
|
||||
-- 添加字段注释
|
||||
ALTER TABLE `xskh_assessment_plan`
|
||||
MODIFY COLUMN `base_score` DECIMAL(5,2) DEFAULT 100.00 COMMENT '基础分数(80-120分)',
|
||||
MODIFY COLUMN `pass_score` DECIMAL(5,2) DEFAULT 60.00 COMMENT '及格分数(50-70分)',
|
||||
MODIFY COLUMN `excellent_score` DECIMAL(5,2) DEFAULT 85.00 COMMENT '优秀分数(80-95分)',
|
||||
MODIFY COLUMN `auto_deduct_enabled` CHAR(1) DEFAULT '1' COMMENT '是否启用自动扣分:0-否,1-是',
|
||||
MODIFY COLUMN `bonus_enabled` CHAR(1) DEFAULT '1' COMMENT '是否启用加分项:0-否,1-是',
|
||||
MODIFY COLUMN `discipline_weight` DECIMAL(3,2) DEFAULT 1.00 COMMENT '违纪扣分权重(0.5-1.5倍)',
|
||||
MODIFY COLUMN `bonus_weight` DECIMAL(3,2) DEFAULT 1.00 COMMENT '加分项权重(0.5-1.5倍)';
|
||||
|
||||
-- 添加索引优化查询性能
|
||||
CREATE INDEX `idx_assessment_plan_score_config` ON `xskh_assessment_plan` (`base_score`, `pass_score`, `excellent_score`);
|
||||
|
||||
-- ==========================================
|
||||
-- 2. 权限配置
|
||||
-- ==========================================
|
||||
|
||||
-- 🚨 注意:使用ID 9820-9823,避免与现有权限冲突
|
||||
-- 现有考核计划管理权限范围:9800-9819
|
||||
-- 新增评分标准配置权限范围:9820-9823
|
||||
|
||||
-- 2.1 删除可能存在的旧权限(安全清理)
|
||||
DELETE FROM sys_menu WHERE menu_id BETWEEN 9820 AND 9823;
|
||||
DELETE FROM sys_role_menu WHERE menu_id BETWEEN 9820 AND 9823;
|
||||
|
||||
-- 2.2 新增评分标准配置权限
|
||||
INSERT INTO sys_menu VALUES
|
||||
(9820, '评分标准配置', 9800, 20, '', '', '', 1, 0, 'F', '0', '0', 'xskh:assessmentPlan:scoreConfig', '#', 1, NOW(), '', NULL, '考核计划评分标准配置权限'),
|
||||
(9821, '批量配置评分标准', 9800, 21, '', '', '', 1, 0, 'F', '0', '0', 'xskh:assessmentPlan:batchScoreConfig', '#', 1, NOW(), '', NULL, '批量配置评分标准权限'),
|
||||
(9822, '重置评分标准', 9800, 22, '', '', '', 1, 0, 'F', '0', '0', 'xskh:assessmentPlan:resetScore', '#', 1, NOW(), '', NULL, '重置评分标准权限'),
|
||||
(9823, '获取评分配置选项', 9800, 23, '', '', '', 1, 0, 'F', '0', '0', 'xskh:assessmentPlan:scoreOptions', '#', 1, NOW(), '', NULL, '获取评分配置选项权限');
|
||||
|
||||
-- 2.3 为超级管理员角色分配权限
|
||||
INSERT INTO sys_role_menu (role_id, menu_id) VALUES
|
||||
(1, 9820), -- 评分标准配置
|
||||
(1, 9821), -- 批量配置评分标准
|
||||
(1, 9822), -- 重置评分标准
|
||||
(1, 9823); -- 获取评分配置选项
|
||||
|
||||
-- ==========================================
|
||||
-- 3. 数据初始化(可选)
|
||||
-- ==========================================
|
||||
|
||||
-- 3.1 为现有考核计划设置默认评分标准
|
||||
UPDATE `xskh_assessment_plan`
|
||||
SET
|
||||
`base_score` = 100.00,
|
||||
`pass_score` = 60.00,
|
||||
`excellent_score` = 85.00,
|
||||
`auto_deduct_enabled` = '1',
|
||||
`bonus_enabled` = '1',
|
||||
`discipline_weight` = 1.00,
|
||||
`bonus_weight` = 1.00,
|
||||
`update_time` = NOW()
|
||||
WHERE
|
||||
`base_score` IS NULL
|
||||
OR `pass_score` IS NULL
|
||||
OR `excellent_score` IS NULL;
|
||||
|
||||
-- ==========================================
|
||||
-- 4. 验证脚本执行结果
|
||||
-- ==========================================
|
||||
|
||||
-- 4.1 验证表结构修改
|
||||
SELECT
|
||||
COLUMN_NAME,
|
||||
DATA_TYPE,
|
||||
COLUMN_DEFAULT,
|
||||
COLUMN_COMMENT
|
||||
FROM INFORMATION_SCHEMA.COLUMNS
|
||||
WHERE TABLE_SCHEMA = DATABASE()
|
||||
AND TABLE_NAME = 'xskh_assessment_plan'
|
||||
AND COLUMN_NAME IN ('base_score', 'pass_score', 'excellent_score', 'auto_deduct_enabled', 'bonus_enabled', 'discipline_weight', 'bonus_weight')
|
||||
ORDER BY ORDINAL_POSITION;
|
||||
|
||||
-- 4.2 验证权限配置
|
||||
SELECT
|
||||
menu_id,
|
||||
menu_name,
|
||||
perms,
|
||||
remark
|
||||
FROM sys_menu
|
||||
WHERE menu_id BETWEEN 9820 AND 9823
|
||||
ORDER BY menu_id;
|
||||
|
||||
-- 4.3 验证角色权限关联
|
||||
SELECT
|
||||
r.role_name,
|
||||
m.menu_name,
|
||||
m.perms
|
||||
FROM sys_role r
|
||||
INNER JOIN sys_role_menu rm ON r.role_id = rm.role_id
|
||||
INNER JOIN sys_menu m ON rm.menu_id = m.menu_id
|
||||
WHERE rm.menu_id BETWEEN 9820 AND 9823
|
||||
ORDER BY r.role_id, m.menu_id;
|
||||
|
||||
-- ==========================================
|
||||
-- 5. 回滚脚本(紧急情况使用)
|
||||
-- ==========================================
|
||||
|
||||
/*
|
||||
-- 如需回滚,请执行以下脚本:
|
||||
|
||||
-- 删除新增权限
|
||||
DELETE FROM sys_role_menu WHERE menu_id BETWEEN 9820 AND 9823;
|
||||
DELETE FROM sys_menu WHERE menu_id BETWEEN 9820 AND 9823;
|
||||
|
||||
-- 删除新增字段(注意:会丢失数据)
|
||||
ALTER TABLE `xskh_assessment_plan`
|
||||
DROP COLUMN `base_score`,
|
||||
DROP COLUMN `pass_score`,
|
||||
DROP COLUMN `excellent_score`,
|
||||
DROP COLUMN `auto_deduct_enabled`,
|
||||
DROP COLUMN `bonus_enabled`,
|
||||
DROP COLUMN `discipline_weight`,
|
||||
DROP COLUMN `bonus_weight`;
|
||||
|
||||
-- 删除索引
|
||||
DROP INDEX `idx_assessment_plan_score_config` ON `xskh_assessment_plan`;
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- ==========================================
|
||||
-- 执行完成提示
|
||||
-- ==========================================
|
||||
SELECT '考核计划管理评分标准配置数据库升级完成!' AS message,
|
||||
'新增字段:7个评分配置字段' AS fields_added,
|
||||
'新增权限:4个功能权限(ID: 9820-9823)' AS permissions_added,
|
||||
'影响表:xskh_assessment_plan' AS tables_affected;
|
||||
@@ -0,0 +1,50 @@
|
||||
-- ==========================================
|
||||
-- 考核计划管理 - 评分标准配置权限
|
||||
-- 创建时间:2025-01-27
|
||||
-- 说明:为考核计划管理添加评分标准配置相关权限
|
||||
-- 菜单ID范围:9816-9819 (在考核计划管理9800-9815基础上扩展)
|
||||
-- ==========================================
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ===========================================
|
||||
-- 考核计划管理 - 评分标准配置按钮权限
|
||||
-- ===========================================
|
||||
|
||||
-- 评分标准配置权限
|
||||
INSERT IGNORE INTO `sys_menu`
|
||||
(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
|
||||
VALUES
|
||||
(9816, '评分标准配置', 9800, 16, '', '', '', 1, 0, 'F', '0', '0', 'xskh:assessmentPlan:scoreConfig', '#', 1, NOW(), '', NULL, '考核计划评分标准配置权限'),
|
||||
(9817, '批量配置评分标准', 9800, 17, '', '', '', 1, 0, 'F', '0', '0', 'xskh:assessmentPlan:batchScoreConfig', '#', 1, NOW(), '', NULL, '批量配置评分标准权限'),
|
||||
(9818, '重置评分标准', 9800, 18, '', '', '', 1, 0, 'F', '0', '0', 'xskh:assessmentPlan:resetScore', '#', 1, NOW(), '', NULL, '重置评分标准权限'),
|
||||
(9819, '预览评分配置', 9800, 19, '', '', '', 1, 0, 'F', '0', '0', 'xskh:assessmentPlan:previewScore', '#', 1, NOW(), '', NULL, '预览评分配置权限');
|
||||
|
||||
-- ===========================================
|
||||
-- 为超级管理员分配新权限
|
||||
-- ===========================================
|
||||
INSERT IGNORE INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES
|
||||
(1, 9816),
|
||||
(1, 9817),
|
||||
(1, 9818),
|
||||
(1, 9819);
|
||||
|
||||
-- ===========================================
|
||||
-- 验证权限配置
|
||||
-- ===========================================
|
||||
-- 查询新增的权限
|
||||
SELECT menu_id, menu_name, perms, remark
|
||||
FROM sys_menu
|
||||
WHERE menu_id BETWEEN 9816 AND 9819
|
||||
ORDER BY menu_id;
|
||||
|
||||
-- 查询权限分配情况
|
||||
SELECT rm.role_id, r.role_name, m.menu_name, m.perms
|
||||
FROM sys_role_menu rm
|
||||
LEFT JOIN sys_role r ON rm.role_id = r.role_id
|
||||
LEFT JOIN sys_menu m ON rm.menu_id = m.menu_id
|
||||
WHERE rm.menu_id BETWEEN 9816 AND 9819
|
||||
ORDER BY rm.role_id, rm.menu_id;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
Reference in new issue
Block a user