按宿管《扣分条例10月15日》,把寝室卫生检查可选扣分项切换为新条例(共 60 项)。
系统加载规则:寝室检查调用 listByAreaType?areaType=1,只显示
xskh_discipline_type 中 区域类型=宿舍区(1) 且 状态=正常(0) 的违纪类型。
不需要发版,只改生产库数据。
| 文件 | 说明 |
|---|---|
backend/script/sql/update/update_20261020_dorm_hygiene_deduction_types.sql |
备份 → 停用旧宿舍区类型 → 插入新条例 |
| 本文档 | 生产执行步骤与验收 |
remark),确认后可改。按现有规范做一次生产库逻辑备份 / 快照(至少包含 xskh_discipline_type)。
# 示例:在测试库执行整份脚本
mysql -h<测试主机> -u<用户> -p <库名> < backend/script/sql/update/update_20261020_dorm_hygiene_deduction_types.sql
核对输出:
bak_dorm_type_count > 0(若原先没有宿舍区类型,可为 0)new_active_dorm_types = 60测试环境打开:寝室卫生检查 → 新建检查 → 扣分项列表应为新 60 项。
mysql -h<生产主机> -u<用户> -p <生产库名> < backend/script/sql/update/update_20261020_dorm_hygiene_deduction_types.sql
或在 Navicat / DBeaver 中打开该 SQL,按步骤分段执行(0→1→2→3→4→5),每步看结果再继续。
SELECT COUNT(*) AS new_active_dorm_types
FROM xskh_discipline_type
WHERE area_type = '1' AND deleted = 0 AND status = '0'
AND type_code LIKE 'sskf202610_%';
-- 期望:60
sskf202610_*)。告知:从即日起检查按新条例扣分;若某项分值需调整,在「违纪类型」里改最低/最高分即可,不必再跑脚本。
xskh_discipline_type_bak_20261020status=1,不删)area_type=1,type_category=1,status=0)教学区违纪(area_type=2)不动。
-- 1. 去掉本次新数据(若尚未被检查引用)
DELETE FROM xskh_discipline_type WHERE type_code LIKE 'sskf202610_%';
-- 2. 按备份恢复旧宿舍区类型状态
UPDATE xskh_discipline_type t
INNER JOIN xskh_discipline_type_bak_20261020 b ON b.id = t.id
SET t.status = b.status,
t.remark = b.remark,
t.update_time = NOW()
WHERE t.area_type = '1';
若新类型已被检查使用,不要 DELETE,改为把新类型 status 置停用,再恢复旧类型。
| 分类 | 编码前缀 | 条数 |
|---|---|---|
| 卫生方面 | sskf202610_ws_* |
21 |
| 纪律方面 | sskf202610_jl_* |
16 |
| 重大违纪 | sskf202610_zd_* |
23 |
| 合计 | 60 |
Q:执行后检查页还是旧项?
刷新页面或重新进入检查;确认接口 listByAreaType?areaType=1 返回新数据。
Q:能否只改几条、不全量切换?
可以,改在后台「违纪类型」手工增删改;本脚本适合一次性对齐条例。
Q:历史扣分记录会变吗?
不会。历史明细仍引用旧 discipline_type_id,只是旧类型被停用,新检查不再可选。