升年级逻辑优化方案

升年级,是把低年级往高年级进行数据关系迁移的过程。这个过程会调整原年级的年级代码和名称、原班级的归属年级,

一、当前逻辑

1、当前情况:

毕业升级条件


1、正在任务或手动升级中,检测 sj_zxxx_njsjzlb 的 sjn 小于当前年份,可进行毕业升级操作

毕业升级方式


1、内置的XXL-Job定时任务,进行定时毕业升级
2、手动进行毕业升级
3、查询平台内的所有学校的所有年级,按学校循环从高年级到低年级进行毕业升级

2、逻辑流程

升学年级数据变动
  • 1、把年级表 sj_zxxx_njsjzlb 中的年级代码进行数据升级,年级代码升级,年级名称调整成新的名称
  • 2、组织机构 t_org_tree 中原有年级的名称改为新的名称
  • 3、把班级表 sj_zxxx_bjsjzlb 中的 nj 字段,年级升级
  • 4、创建新的年级数据
新年级数据新增(手动)
  • 1、页面新增新的低年级
  • 2、升级需要从高到低去升级

一、优化方案

1、方案描述:

1.1、交互功能
  • 学校-年级-班级 为最小单位,在第2个学期时间结束时,系统自动创建 升年级计划
  • 升年级计划功能,包含 运维视角学校视角 两个功能
  • 运维视角 下的 升年级计划 功能,有 待升年级学校 列表
    • 学校列表 中,需要包含,学校、年级、班级、升年级计划、执行状态、执行进度、操作[重试],异常时候,点击执行状态可查看异常信息
    • 学校列表 展开,可展示 年级-班级 的子列表
    • 运维人员(运维专员、客户经理),可重新执行 年级-班级 失败的 升年级计划
  • 学校视角 下的 升年级计划 功能,有 学校为单位的 待升年级 整体进度图表 和 年级-班级升年级计划 列表
    • 年级-班级 列表中,需要包含,年级、班级、升年级计划、执行状态、执行进度、操作[重试],异常时候,点击执行状态可查看异常信息
    • 运维人员(运维专员、客户经理),可重新执行 年级-班级 失败的 升年级计划
    • 列表中,需要包含,学校、年级、班级、升年级计划、执行状态、异常详情、操作[重试]
1.2、逻辑流程
1.3、业务流程

2、数据库设计:

  • 升年级计划表
CREATE TABLE `t_plan_sxnjh` (
    `id` varchar(50) NOT NULL COMMENT '主键ID',
    `xxdm` varchar(12) NOT NULL COMMENT '学校代码(指由教育部按照国家标准及编码规则编制,赋予每个学校(机构)在全国范围内唯一的、始终不变的识别标识码)',
    `xqbm` varchar(14) NOT NULL COMMENT '校区编码(学校代码 + 校区号)',
    `njdm` varchar(2) NOT NULL COMMENT '年级代码(JY/T 1002 JCTB010401)',
    `bjdm` varchar(50) NOT NULL COMMENT '班级名称,例:一年级(01)班',
    `xndm` varchar(9) NOT NULL COMMENT '学年代码,例:2024-2025',
    `xqdm` varchar(2) NOT NULL COMMENT '学期代码(01:上学期;02:下学期)',
    `snjjh` varchar(255) NOT NULL COMMENT '升年级计划, ',
    `zxzt` int(2) NOT NULL COMMENT '执行状态(0-未执行,1-执行中,2-已完成,3-已取消,4-异常)',
    `zxjd` decimal(3,1) NOT NULL COMMENT '执行进度, 0-100',
    `create_time` datetime NOT NULL COMMENT '创建时间(数据首次创建时间)',
    `update_time` datetime NOT NULL COMMENT '更新时间(数据最后在数据库更中更新的时间)',
    `create_by` bigint(20) null comment '创建人',
    `update_by` bigint(20) null comment '修改人',
    `deleted` tinyint(1) default 0 null comment '删除标识 1-已删除 0-未删除',
    PRIMARY KEY (`id`),
    KEY `idx_full` (`xxdm`, `njdm`, `bjdm`, `xndm`, `xqdm`, `sxqjh`, `zxzt`, `zxjd`) USING BTREE
) DEFAULT CHARSET = utf8mb4 COMMENT = '升年级计划表';

3、任务拆分:

  • 交互功能设计【0.5d】
  • 交互功能UI布局【0.5d】
  • 升年级计划任务管理功能【0.5d】
    • 升年级计划列表
    • 升年级计划重试
    • 升年级计划异常详情
  • 升年级计划定时任务及逻辑【2d】
  • 功能测试【0.5d】
作者:杭州天音  创建时间:2025-02-17 16:04
最后编辑:杭州天音  更新时间:2025-06-09 11:42